1. Field of the Invention
The present invention relates to an inverse modified discrete cosine transform (IMDCT) co-processor and an audio decoder having the same and, more particularly, to an IMDCT co-processor in which an IMDCT of a filter bank block arranged at an output of an MPEG-4 audio decoder having a relatively great amount of computation is implemented in the form of a co-processor which includes a high speed operation unit and a small-sized memory, thereby reducing the whole computation amount of a digital signal processor (DSP) for decoding an audio signal, and an audio decoder having the same.
2. Discussion of Related Art
In general, an analog signal is converted into a digital signal and then into a frequency band signal to reduce the amount of data without signal loss, and a signal of a time domain x(t) is converted into a signal of a frequency domain X(f) for efficient signal processing.
A conventional MPEG-4 audio encoder employs a modified discrete cosine transform (MDCT) device to provide time-to-frequency domain mapping. The MDCT device divides input signals into different frequency bands and then processes them. In contrast, a conventional MPEG-4 audio decoder employs an IMDCT device for frequency-to-time conversion to reproduce a signal even at a high frequency band almost perfectly.
The IMDCT device employed in the MPEG-4 audio decoder is defined by Equation 1. The IMDCT receives 1024 frequency spectrum sample values and outputs 2048 time domain sample values if the window sequence is of the long block type, and receives 128 frequency spectrum sample values and outputs 256 time domain sample values if the window sequence is of the short block type.
                                                        x              ⁡                              [                n                ]                                      =                                          2                N                            ⁢                                                ∑                                      k                    =                    0                                                                              N                      2                                        -                    1                                                  ⁢                                                      X                    ⁡                                          [                      k                      ]                                                        ⁢                                      cos                    ⁡                                          (                                                                                                    2                            ⁢                            π                                                    N                                                ⁢                                                  (                                                      n                            +                                                          n                              0                                                                                )                                                ⁢                                                  (                                                      k                            +                                                          1                              2                                                                                )                                                                    )                                                                                                    ,                                          ⁢          for                ⁢                                  ⁢                              0            ≤            k            <                          N              2                                ,                                          ⁢                      0            ≤            n            <            N                    ,                                          ⁢                      (                                          N                =                2048                            ,              256                        )                                              Equation        ⁢                                  ⁢        1            
where n denotes a time domain sample index, k denotes a frequency spectrum sample index, N denotes the window length (2048, 256) based on the window sequence, and n0=(N/2+1)/2.
An encoded audio stream input to the conventional MPEG-4 audio decoder is subjected to decoding, inverse quantization, noise filtering, and stereo processing in this order, and then subjected to frequency-to-time conversion at an IMDCT filter bank, and finally output as a voice signal through a codec.
However, the conventional MPEG-4 audio decoder has disadvantages in that it essentially needs a high performance digital signal processor (DSP), and a clock frequency of the DSP is raised by an increment of million instructions per second (MIPS) due to a great amount of computation. Thus, it is not suitable for a mobile multimedia environment that requires low power consumption.